package com.lixin.aopdemo;

import com.lixin.aopdemo.renting.Master;
import com.lixin.aopdemo.renting.Rent;

/**
 * 找中介租房
 */
public class MainApplication {
    public static void main(String[] args) throws Throwable {
        // 真实角色(房东)
        Master master = new Master();
        // 实例化自定义的代理类生成器
        ProxyInvocationHandler proxyInvocationHandler = new ProxyInvocationHandler();
        // 设置要代理的真实角色
        proxyInvocationHandler.setTarget(master);
        // 获取代理类(中介)，代理类已实现Rent接口
        Rent masterProxy = (Rent) proxyInvocationHandler.getProxy();
        // 找代理类(中介)租房
        masterProxy.doRent();
    }
}
